package com.dragon.refect.clazz;

import java.util.Arrays;

/**
 * 返回一个包含Method对象的数组，该对象反映此Class对象表示的类或接口的所有已声明方法，
 * 包括公共，受保护，默认（程序包）访问和私有方法，但不包括继承的方法。
 *
 * 如果此Class对象表示一个类型，该类型具有多个声明的方法，这些方法具有相同的名称和参数类型，
 * 但返回类型不同，则对于每个此类方法，返回的数组都有一个Method对象。
 *
 * 如果此Class对象表示具有类初始化方法<clinit>的类型，则返回的数组没有相应的Method对象。
 *
 * 如果此Class对象表示没有声明方法的类或接口，则返回的数组长度为0。
 *
 * 如果此Class对象表示数组类型，原始类型或void，则返回的数组长度为0。
 *
 * 返回数组中的元素未排序，并且没有任何特定顺序。
 *
 * @author dragon
 * @since 2019/12/1
 */
public class ClassGetDeclaredMethodTest {

    public static void main(String[] args) {
        System.out.println(Arrays.toString(Zi.class.getDeclaredMethods()));
    }
}
